package com.hejing.泛型在继承中的体现及通配符的使用;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

/**
 * ClassName: GenericTest
 * Package: com.hejing.泛型在继承中的体现及通配符的使用
 * Description:
 *
 * @Author: HeJing
 * @Create: 2023-05-22 11:01
 * @Version: 1.0
 */
public class GenericTest {
    @Test
    public void test01(){
        // 场景1
        Object obj = null;
        String str = null;

        obj = str;  // 基于继承的多态的使用

        // 场景2:
        Object[] arr = null;
        String[] arr1 = null;
        arr = arr1; // 基于继承的多态的使用
    }

    @Test
    public void test02(){
        ArrayList<Object> list1 = null;
        ArrayList<String> list2 = null;

        // list1 = list2;  // 报错，
    }

    @Test
    public void test03(){
        Person<Object> per = null;
        Person<String> per1 = null;
        // per = per1; 报错

    }

    @Test
    public void test04(){
        List<String> list1 = null;
        ArrayList<String> list2 = new ArrayList<>();
        list1 = list2;  // 存在父类子类关系。
    }

}























